The present invention generally relates to estimating utilization of components in an electronic system.
Knowledge of the level of resource utilization in computing systems is important for ensuring that users"" needs are adequately serviced and computing resources are deployed where needed most. Example computing resources include components such as CPUs, memory, storage, and communications equipment. If a resource is currently fully utilized, users may experience performance degradation and the current configuration may not support additional users. On the other hand, if only a small portion of a resource is being utilized, services may be reassigned from an over-utilized resource to an underutilized resource.
The characteristics of a utilization metric depend on the resource in question. For example, an example metric of CPU utilization is the amount of time the CPU spends executing user and system programs divided by the total time spent by the CPU both idling and executing instructions. In terms of storage utilization, an example utilization metric is the quantity of storage in which user and system data arc stored versus the total amount of storage available.
Prior solutions for estimating device utilization of storage systems, for example, are either complex or provide an incomplete view. One example prior solution requires hooks implemented at a low level in the storage system to obtain measurements directly from the device. Another example prior solution models storage system performance. However, models require significant development efforts. Still other prior solutions provide basic metrics such as I/O operations per second or bandwidth in Mbytes per second. While these basic metrics indicate a current performance level, system administrators may find other metrics more useful in selecting equipment and configuring the system.
A system and method that address the aforementioned problems, as well as other related problems, are therefore desirable.
In various embodiments, the invention provides a method and apparatus for estimating the utilization of an electronic system component. Trace information that includes start times and completion times of operations resulting in access to the system component is gathered for a period of time. Using the start times and completion times of the trace information the total amount of time expended by the operations is determined. A component-occupancy value that indicates a ratio of the total time value to the length of the period of time is then generated to indicate the occupancy of the component.
Various example embodiments are set forth in the Detailed Description and claims which follow.